package com.gimi.cloud.jimi.manage.consumer.feign;

import com.gimi.cloud.jimi.common.utils.reqhead.Response;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import com.gimi.cloud.jimi.dto.order.OrderCostDTO;
import com.gimi.cloud.jimi.dto.order.OrderDTO;
import com.gimi.cloud.jimi.dto.order.OrderExpressDTO;
import com.gimi.cloud.jimi.dto.order.OrderGoodsDTO;
import com.gimi.cloud.jimi.dto.order.OrderInvoiceDTO;
import com.gimi.cloud.jimi.dto.order.OrderLogisticsDTO;

import feign.Headers;
@FeignClient(name = "jimi-manage-service")
public interface OrderFeignService {
	
	@Headers({"Content-Type: application/json","Accept: application/json"})
	@RequestMapping(value = "order/pageList", method = RequestMethod.POST)
	Response getOrderPageList(OrderDTO dto);
	
	@Headers({"Content-Type: application/json","Accept: application/json"})
	@RequestMapping(value = "order/deleteOrder", method = RequestMethod.POST)
	Response deleteOrder(OrderDTO dto);
	
	@Headers({"Content-Type: application/json","Accept: application/json"})
	@RequestMapping(value = "order/orderStatus", method = RequestMethod.POST)
	Response updateorderStatus(OrderDTO dto);
	
	@Headers({"Content-Type: application/json","Accept: application/json"})
	@RequestMapping(value = "order/getSingleOrderBase", method = RequestMethod.POST)
	Response getSingleOrderBase(OrderDTO dto);
	
	@Headers({"Content-Type: application/json","Accept: application/json"})
	@RequestMapping(value = "order/updateOrderBase", method = RequestMethod.POST)
	Response updateOrderBase(OrderDTO dto);
	
	@Headers({"Content-Type: application/json","Accept: application/json"})
	@RequestMapping(value = "order/ShowOrderDetail", method = RequestMethod.POST)
	Response showOrderDetail(OrderDTO dto);
	
	/**订单其他数据**/
	//订单配送数据
	@Headers({"Content-Type: application/json","Accept: application/json"})
	@RequestMapping(value = "orderExpress/getSingleOrderExpress", method = RequestMethod.POST)
	Response getSingleOrderExpress(OrderExpressDTO DTO);
	
	@Headers({"Content-Type: application/json","Accept: application/json"})
	@RequestMapping(value = "orderExpress/updateOrderExpress", method = RequestMethod.POST)
	Response updateOrderExpress(OrderExpressDTO DTO);
	
	@Headers({"Content-Type: application/json","Accept: application/json"})
	@RequestMapping(value = "orderExpress/deleteOrderExpress", method = RequestMethod.POST)
	Response deleteOrderExpress(OrderExpressDTO DTO);
	
	//订单费用管理
	@Headers({"Content-Type: application/json","Accept: application/json"})
	@RequestMapping(value = "orderCost/getSingleOrderCost", method = RequestMethod.POST)
	Response getSingleOrderCost(OrderCostDTO DTO);
	
	@Headers({"Content-Type: application/json","Accept: application/json"})
	@RequestMapping(value = "orderCost/updateOrderCost", method = RequestMethod.POST)
	Response updateOrderCost(OrderCostDTO DTO);
	
	@Headers({"Content-Type: application/json","Accept: application/json"})
	@RequestMapping(value = "orderCost/deleteOrderCost", method = RequestMethod.POST)
	Response deleteOrderCost(OrderCostDTO DTO);
	
	//订单商品管理
	@Headers({"Content-Type: application/json","Accept: application/json"})
	@RequestMapping(value = "orderGoods/getSingleOrderGoods", method = RequestMethod.POST)
	Response getSingleOrderGoods(OrderGoodsDTO DTO);
	
	@Headers({"Content-Type: application/json","Accept: application/json"})
	@RequestMapping(value = "orderGoods/updateOrderGoods", method = RequestMethod.POST)
	Response updateOrderGoods(OrderGoodsDTO DTO);
	
	@Headers({"Content-Type: application/json","Accept: application/json"})
	@RequestMapping(value = "orderGoods/deleteOrderGoods", method = RequestMethod.POST)
	Response deleteOrderGoods(OrderGoodsDTO DTO);
	
	//订单发票管理
	@Headers({"Content-Type: application/json","Accept: application/json"})
	@RequestMapping(value = "orderInvoice/getSingleOrderInvoice", method = RequestMethod.POST)
	Response getSingleOrderInvoice(OrderInvoiceDTO DTO);
	
	@Headers({"Content-Type: application/json","Accept: application/json"})
	@RequestMapping(value = "orderInvoice/updateOrderInvoice", method = RequestMethod.POST)
	Response updateOrderInvoice(OrderInvoiceDTO DTO);
	
	@Headers({"Content-Type: application/json","Accept: application/json"})
	@RequestMapping(value = "orderInvoice/deleteOrderInvoice", method = RequestMethod.POST)
	Response deleteOrderInvoice(OrderInvoiceDTO DTO);
	//订单物流信息
	
	@Headers({"Content-Type: application/json","Accept: application/json"})
	@RequestMapping(value = "orderLogistics/deleteOrderLogistics", method = RequestMethod.POST)
	Response deleteOrderLogistics(OrderLogisticsDTO dto);

	@Headers({"Content-Type: application/json","Accept: application/json"})
	@RequestMapping(value = "orderLogistics/getSingleOrderLogistics", method = RequestMethod.POST)
	Response getSingleOrderLogistics(OrderLogisticsDTO dto);

	@Headers({"Content-Type: application/json","Accept: application/json"})
	@RequestMapping(value = "orderLogistics/updateOrderLogistics", method = RequestMethod.POST)
	Response updateOrderLogistics(OrderLogisticsDTO dto);
	
	
}
